//
//      Copyright 2011 richard collins
//
//      This program is free software; you can redistribute it and/or modify
//      it under the terms of the GNU General Public License as published by
//      the Free Software Foundation; either version 2 of the License, or
//      (at your option) any later version.
//
//      This program is distributed in the hope that it will be useful,
//      but WITHOUT ANY WARRANTY; without even the implied warranty of
//      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//      GNU General Public License for more details.
//
//      You should have received a copy of the GNU General Public License
//      along with this program; if not, write to the Free Software
//      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
//      MA 02110-1301, USA.
// The 8 digit LCD display used PORTA multiplex to send data and select active cells.
// Bits 4 and 5 control the writing of the cell and cell select values when PORTA is written to.
//
// If bit 5 is set then the bit pattern if PORTA sets which cell is on.
// When a bit is cleared the cell is on. Rather anoyingly the bit pattern is reverse of the cell pos.
// That is the lsb sets the left most cell even though it is the right most bit.
//
// If bit 4 is set then the value in PORTA sets which led segments of cell are on. If the bit is cleared the segment is off.
//  ---
// |   |
//  ---
// |   |
//  ---   o
//
//   0
// 5   1
//   6
// 4   2
//   3     7
//
// 0 -> 1
// 1 -> 2
// 2 -> 4
// 3 -> 8
// 4 -> 16
// 5 -> 32
// 6 -> 64
// 7 -> 128
// Bit numbers for each cell.
// ****************************************************************************************
// This code uses a timer interrupt to drive the display. :)
// ****************************************************************************************

#ifndef __LED_DISPLAY_H__
#define __LED_DISPLAY_H__

#include "common.h"

void LedDisplay_Open();
void LedDisplay_Print(const char *text);

#endif //#ifndef __LED_DISPLAY_H__
